#pragma once
#include <stdio.h>
#include <stdlib.h>

#define SeqListSize 1000

typedef char SeqListType;
typedef struct SeqList
{
    SeqListType data[SeqListSize];
    size_t size;
}SeqList;

//打印顺序表的内容
void PrintChar(SeqList *seq,const char *msg);
//顺序表的初始化
void SeqListInit(SeqList *seq);
//顺序表的尾部插入
void SeqListPushBack(SeqList *seq,SeqListType value);
//顺序表的尾部删除
void SeqListPopBack(SeqList *seq);
//顺序表的头部插入
void SeqListPushFront(SeqList *seq,SeqListType value);
//顺序表的头部删除‘
void SeqListPopFront(SeqList *seq);
//获取顺序表中任意位置元素
int SeqListGet(SeqList *seq,size_t pos,SeqListType *tmp);
//将顺序表中任意位置的值进行设置
void SeqListSet(SeqList *seq,size_t pos,SeqListType value);
//查找顺序表中指定元素的下标
size_t SeqListFind(SeqList *seq,SeqListType value);
//在指定位置进行插入元素
void SeqListInsert(SeqList *seq,size_t pos,SeqListType value);
//删除指定位置的值
void SeqListErase(SeqList *seq,size_t pos);
//删除表中指定的值
void SeqListRemove(SeqList *seq,SeqListType value);
//删除顺序表中所有指定的值
void SeqListRemoveAll(SeqList *seq,SeqListType value);
//获取顺序表中元素个数
size_t SeqListGetSize(SeqList *seq);
//判断顺序表是否为空
int SeqListEmpty(SeqList *head);
//对顺序表中的值进行冒泡排序
void SeqListBubbleSort(SeqList *seq);
